package com.xuanwei.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xuanwei.core.entity.RoleVo;
import com.xuanwei.dao.entity.XwManagementPermission;
import com.xuanwei.dao.entity.XwManagementRole;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author mjy
 * @since 2019-04-14
 */
public interface IXwManagementRoleService extends IService<XwManagementRole> {

    /**
     * 根据用户ID插叙权限
     * @param id 用户
     * @return
     */
    XwManagementRole findPermissionByUserId(Integer id);

    /**
     * 添加用户角色
     * @param name 角色名
     * @param ids 权限ID集合
     */
    void add(String name, Integer[] ids);


    /**
     * 添加用户角色
     * @param name 角色名
     * @param ids 权限ID集合
     */
    void update(Integer id, String name, Integer[] ids);

    /**
     * 删除角色
     * @param id 角色ID
     */
    void delete(Integer id);

    /**
     * 查询分页数据
     * @param page 分页
     */
    void list(Page<XwManagementRole> page);

    /**
     * 详情
     * @param id ID
     * @return 数据
     */
    RoleVo detail(Integer id);

    /**
     * 角色列表
     * @return
     */
    List<XwManagementRole> roleList();

    /**
     * 权限列表
     * @return
     */
    List<XwManagementPermission> permissionList();


}
